#ifndef GY_CONTROLPUBLICFATHER_H
#define GY_CONTROLPUBLICFATHER_H
#include "GY_ControlLibrary_global.h"
#include <QObject>
#include <QVariant>
#include <qwidget.h>
/**
 * @brief The GY_ControlPublicFather class 表格内控件必须继承
 */
class GY_CONTROLLIBRARY_EXPORT GY_ControlPublicFather:public QWidget
{
    Q_OBJECT
signals:
    /**
     * @brief sendId 子类用于传递数据信号
     * @param id     子类控件的唯一标识
     * @param column 子类控件所在列号
     * @param data   子类控件传递的数据
     */
    void sendId(QVariant id, int column, QVariant data);
public:
    explicit GY_ControlPublicFather(QWidget *parent = nullptr);

    /**
     * @brief setId  设置控件的唯一标识，和所在列
     * @param data   唯一标识的值
     * @param column 列号
     */
    void setId(QVariant data,int column);

    /**
     * @brief setData 子类初始化所用接口
     * @param data  子类初始化所需数据
     */
    virtual void setData(QVariant data)=0;
protected:
    QVariant m_Id;
    int m_column;
};

#endif // GY_CONTROLPUBLICFATHER_H
